RaspberryPi OSでIPアドレスを固定する
例として、eth0 に
IPアドレス: 192.168.0.2
ネットマスク(プレフィクス): 255.255.255.0 (/24)
デフォルトゲートウェイ: 192.168.0.1
DNSキャッシュサーバ: 192.168.0.1
を設定する方法を示す。
設定の前に
設定しようとしているIPアドレスは「ルータのLAN側IPアドレスと同じサブネット」かつ「DHCPの割当範囲外」になっていますか?
例えば、ルータのLAN側IPアドレスが192.168.0.1で、RPiに 192.168.0.2を手動で割り当てたい場合は、 DHCPの割当開始アドレスを 192.168.0.11 あたりに設定するとよい
ブロードバンドルータの設定画面から確認しておこう
IPアドレス以外の情報(ネットワークアドレス, ネットマスク(プレフィクス), デフォルトゲートウェイ)はDHCPで設定されているものと同じになっていますか?
手元のPCのネットワーク設定、ルータの設定画面、RaspberryPiの ip addr show eth0 の結果などを見て確認しておこう
設定
/etc/dhcpcd.confに以下の設定を追加する:
code:/etc/dhcpcd.conf
interface eth0
static ip_address=192.168.0.2/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
再起動する:
code:sh
sudo reboot
動作確認
まず、PCからRaspberry Piにpingを打ってみる:
code:sh
$ ping raspberrypi.local
PING raspberrypi.local (192.168.0.2): 56 data bytes
64 bytes from 192.168.0.2: icmp_seq=0 ttl=64 time=0.515 ms
64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=0.814 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=64 time=0.706 ms
64 bytes from 192.168.0.2: icmp_seq=3 ttl=64 time=0.512 ms
^C
--- raspberrypi.local ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.512/0.637/0.814/0.129 ms
上記のように 192.168.0.2 から応答がかえってきていればOK
次に、再度RaspberryPiにログインしてIPアドレスを確認する:
code:sh
macbookpro:~ $ ssh pi@raspberrypi.local
Linux gsngw02 5.10.17-v7l+ #1414 SMP Fri Apr 30 13:20:47 BST 2021 armv7l The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Jul 25 20:50:47 2021 from 192.168.0.123
Wi-Fi is currently blocked by rfkill.
Use raspi-config to set the country before use.
pi@raspberrypi:~ $ ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether dc:a6:32:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.0.2/24 brd 192.168.0.255 scope global dynamic noprefixroute eth0
valid_lft 29365sec preferred_lft 22024sec
inet6 fe80::aff4:b854:d7ec:bfe3/64 scope link
valid_lft forever preferred_lft forever
pi@raspberrypi:~ $
上記のように、inet 192.168.0.2/24 brd 192.168.0.255 のような感じで設定できていればOK